package com.stark.core.boot.properties;

import java.util.List;

import org.springframework.boot.context.properties.ConfigurationProperties;

import lombok.Data;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.VendorExtension;

/**
 * swagger 配置参数。
 * @author Ben
 * @since 1.0.0
 * @version 1.0.0
 */
@ConfigurationProperties("swagger")
@Data
public class SwaggerProperties {
	
	/** 标题 */
	private String title = ApiInfo.DEFAULT.getTitle();
	
	/** 描述 */
    private String description = ApiInfo.DEFAULT.getDescription();
    
    /** 版本号 */
    private String version = ApiInfo.DEFAULT.getVersion();
    
    /** 接口使用条件说明 */
    private String termsOfServiceUrl = ApiInfo.DEFAULT.getTermsOfServiceUrl();
    
    /** 接口维护人姓名 */
    private String contactName = ApiInfo.DEFAULT_CONTACT.getName();
    
    /** 接口维护人网址 */
    private String contactUrl = ApiInfo.DEFAULT_CONTACT.getUrl();
    
    /** 接口维护人电子邮箱 */
    private String contactEmail = ApiInfo.DEFAULT_CONTACT.getEmail();
    
    /** 证书名称 */
    private String license = ApiInfo.DEFAULT.getLicense();
    
    /** 证书链接地址 */
    private String licenseUrl = ApiInfo.DEFAULT.getLicenseUrl();
    
    /** 额外功能扩展 */
    @SuppressWarnings("rawtypes")
	private List<VendorExtension> vendorExtensions = ApiInfo.DEFAULT.getVendorExtensions();
	
    /** 扫描包路径 */
	private String basePackage = "";
	
	/** 是否将首页重定向到 swagger 接口文档页，默认 false */
	private boolean indexRedirect;
	
}
